<?
class profielController extends secured_basic_action{



	public function indexAction(){
	
		$this -> view -> setTpl('gebruiker_profiel.php');
		$this -> view -> addStyle(view::PATH_TO_STYLE.'beheerder.css');

		
		$this -> view -> addScript('http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAACdO2s56uYYsoeOta_iGuMhSM_a2tEv3dWNjWfyGyGGYSLbBEMBRSxjK2DRSZDM5QHUhLRP2_hHGQrg&amp;sensor=true');
		$this -> view -> addScript(view::PATH_TO_SCRIPT.'mapsGetCoords.js');
		// object opvullen met gegevens uit de db
		$this -> bewGroep -> fill();
		
		
			
		// nodige formulieren aanmaken	
		$gegevensForm = new form('frm_gegevens', form::POST,NULL ,'/gebruiker/profiel/'.$this -> bewGroepId.'#gegevens');
		$beschrForm = new form('frm_beschr', form::POST,NULL ,'/gebruiker/profiel/'.$this -> bewGroepId.'#beschrijving');
		$fotoForm = new form('frm_foto', form::POST,NULL ,'/gebruiker/profiel/'.$this -> bewGroepId.'#profielfoto');
		$locatieForm = new form('frm_locatie', form::POST, '/gebruiker/profiel/'.$this -> bewGroepId.'#locatie');
		
		/*
			
			gegevensformulier
		
		*/
		
		$email = new form_element_textField('frm_email');
		$emailZichtbaar  =  new form_element_checkBox('frm_zichtbaar');
		$tel = new form_element_textField('frm_tel');
		$verantw =  new form_element_textField('frm_verantwoordelijke');
		$btnGegevens = new form_element_button('frm_gegevens_send');
		
		$email -> addRule('email', 'Je moet een geldig emailadres invullen');
		$verantw -> addRule('notNull', 'Je moet een verantwoordelijke invullen');
		
		
		
				
		// labels 
		$verantw -> addLabel('Verantwoordelijke:');
		$email -> addLabel('Email:');
		$emailZichtbaar -> addLabel('Email zichtbaar?');
		$tel -> addLabel('Telefoonnummer:');
		
		// button text
		
		$btnGegevens -> setValue('Wijzigen');
		
		// toevoegen
		$gegevensForm -> addElementRange(array($verantw, $email,$emailZichtbaar,$tel,$btnGegevens));
		
		// submit button instellen we werken namelijk met meerdere forms per pagina
		$gegevensForm -> setToSubmit($btnGegevens);
		
		
		
		
		
		if($gegevensForm -> isSend()){
		
		
			if($gegevensForm -> isValid()){
			
				
				$this -> bewGroep -> verantwoordelijke = $verantw -> getSend();
				$this -> bewGroep -> tel = $tel -> getSend();
				$this -> bewGroep -> email = $email -> getSend();
				$this -> bewGroep -> emailZichtbaar = $emailZichtbaar -> getSend();
				
					
				$this -> bewGroep -> update();
				
				$this -> view -> gegevensSucces = "Wijzigingen zijn doorgevoerd";
			
			}else{
			
				$this -> view -> gegevensErrors = $gegevensForm -> getErrors();
			
			}
		
		
		}
		
		// value's instellen
		
		$verantw -> setValue($this -> bewGroep -> verantwoordelijke);
		$email -> setValue($this -> bewGroep -> email);
		$tel -> setValue($this -> bewGroep -> tel);
		if($this -> bewGroep -> emailZichtbaar == 1){
			$emailZichtbaar -> checked();
		}
		
		
		
		/*
			
			fotoformulier 
		
		*/		
		$fotoField = new form_element_fileField('frm_foto');
		$btnFoto = new form_element_button('frm_foto_send');
		
		
		$fotoField -> addRule('fileType','Je mag enkel een foto uploaden',array('image/jpeg', 'image/jpg','image/png','image/gif','image/bmp','image/x-windows-bmp'));
		
		//labels
		
		$fotoField -> addLabel('Profielfoto:');
		$btnFoto -> setValue('Wijzigen');
		
		$fotoForm -> addElementRange(array($fotoField, $btnFoto));
		
		$fotoForm -> setToSubmit($btnFoto);
		
		if($fotoForm -> isSend()){
		
			if($fotoForm -> isValid()){
			
				// hier de code voor het uploaden
				 
				$this -> bewGroep -> foto = $fotoField -> getSend();
				 
				if($this -> bewGroep -> update()){
				
					$this -> view -> fotoSucces = "Wijziging doorgevoerd";
				
				}else{
					$this -> view -> fotoError = array();
				}
			
			
			}else{
			
				$this -> view -> fotoError = $fotoForm -> getErrors();
			
			}
		
		
		
		}
		
		
		
		/*
		
			beschrijving formulier
		
		
		*/
		
		
		$beschr = new form_element_textArea('frm_beschrijving_inhoud');
		$btnBeschr = new form_element_button('frm_beschr_btn');
	
		// labels 
		
		$beschr -> addLabel('Beschrijving:');
		$btnBeschr -> setValue('Wijzigen'); 
	
		// validatie & filters
		
		$beschr -> addFilter('removeHtml');
	
		// toevoegen
		
		$beschrForm -> addElementRange(array($beschr, $btnBeschr));
		$beschrForm -> setToSubmit($btnBeschr);
		
		
		if($beschrForm -> isSend()){
		
			if($beschrForm -> isValid()){
			
				$this -> bewGroep -> beschrijving = $beschr -> getSend();
				if($this -> bewGroep -> update()){
				
					$this -> view -> beschrSucces = "Wijziging doorgevoerd";
				
				}else{
				
					$this -> view -> beschrError = array("Er is een fout opgetreden probeer later eens opnieuw");
					
				}
			
			}else{
			
				$this -> view -> beschrError = $beschrForm -> getErrors();
			
			}
		
		
		}
		
		
		$beschr -> setValue($this -> bewGroep -> beschrijving);
		
		
		/*
		
		locatie form
		
		*/
		
		
		$x = new form_element_textField('frm_x');
		$y = new form_element_textField('frm_y');
		$locatieBtn = new form_element_button('frm_locatieBtn');
		
		
		$x -> addRule('notNull', 'Je moet een x coordinaat invullen');
		$y -> addRule('notNull', 'Je moet een y coordinaat invullen');

		
		$locatieForm -> addElementRange(array($x, $y, $locatieBtn));
		$locatieForm -> setToSubmit($locatieBtn);
		
		
		if($locatieForm -> isSend()){
		
			$locatie = $x -> getSend() .'-'. $y-> getSend();
			
			$this -> bewGroep -> coords = $locatie;
			
			if($this -> bewGroep -> update()){
			
				$this -> view -> locatieSucces = "Wijziging doorgevoerd";
			
			}else{
			
				$this -> view -> locatieError = array("Er ging iets fout probeer het later nog eens opnieuw");
			
			}
		
		
		}
		
		if($this -> bewGroep -> coords == ''){
	
			
			$this -> view -> x = '51.219167';
			$this -> view -> y = '4.401580';
			
		}else{
		
		$coords = split('-',$this -> bewGroep -> coords);
		
		$this -> view -> x = $coords[0];
		$this -> view -> y = $coords[1];

		}
		
		
		// doorsturen naar de view
				
		$this -> view -> gegevensForm = $gegevensForm;
		$this -> view -> fotoForm = $fotoForm;
		$this -> view -> beschrForm = $beschrForm;
		
		$this -> view -> render();
	
	}





}



?>